{
 "metadata": {
  "name": "",
  "signature": "sha256:b8e18df49d2fb0874edeb42c9b0843f919cbcf0abc9b3b0498a7d6bcf4b2c69a"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "# Logistic Regression"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Agenda\n",
      "\n",
      "1. Refresh your memory on how to do linear regression in scikit-learn\n",
      "2. Attempt to use linear regression for classification\n",
      "3. Show you why logistic regression is a better alternative for classification\n",
      "4. Brief overview of probability, odds, e, log, and log-odds\n",
      "5. Explain the form of logistic regression\n",
      "6. Explain how to interpret logistic regression coefficients\n",
      "7. Compare logistic regression with other models"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Part 1: Predicting a Continuous Response"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# glass identification dataset\n",
      "import pandas as pd\n",
      "url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/glass/glass.data'\n",
      "col_names = ['id','ri','na','mg','al','si','k','ca','ba','fe','glass_type']\n",
      "glass = pd.read_csv(url, names=col_names, index_col='id')\n",
      "glass['assorted'] = glass.glass_type.map({1:0, 2:0, 3:0, 4:0, 5:1, 6:1, 7:1})"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "glass.head()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<div style=\"max-width:1500px;overflow:auto;\">\n",
        "<table border=\"1\" class=\"dataframe\">\n",
        "  <thead>\n",
        "    <tr style=\"text-align: right;\">\n",
        "      <th></th>\n",
        "      <th>ri</th>\n",
        "      <th>na</th>\n",
        "      <th>mg</th>\n",
        "      <th>al</th>\n",
        "      <th>si</th>\n",
        "      <th>k</th>\n",
        "      <th>ca</th>\n",
        "      <th>ba</th>\n",
        "      <th>fe</th>\n",
        "      <th>glass_type</th>\n",
        "      <th>assorted</th>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>id</th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "    </tr>\n",
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
        "      <th>1</th>\n",
        "      <td>1.52101</td>\n",
        "      <td>13.64</td>\n",
        "      <td>4.49</td>\n",
        "      <td>1.10</td>\n",
        "      <td>71.78</td>\n",
        "      <td>0.06</td>\n",
        "      <td>8.75</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
        "      <td>1</td>\n",
        "      <td>0</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>2</th>\n",
        "      <td>1.51761</td>\n",
        "      <td>13.89</td>\n",
        "      <td>3.60</td>\n",
        "      <td>1.36</td>\n",
        "      <td>72.73</td>\n",
        "      <td>0.48</td>\n",
        "      <td>7.83</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
        "      <td>1</td>\n",
        "      <td>0</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>3</th>\n",
        "      <td>1.51618</td>\n",
        "      <td>13.53</td>\n",
        "      <td>3.55</td>\n",
        "      <td>1.54</td>\n",
        "      <td>72.99</td>\n",
        "      <td>0.39</td>\n",
        "      <td>7.78</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
        "      <td>1</td>\n",
        "      <td>0</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>4</th>\n",
        "      <td>1.51766</td>\n",
        "      <td>13.21</td>\n",
        "      <td>3.69</td>\n",
        "      <td>1.29</td>\n",
        "      <td>72.61</td>\n",
        "      <td>0.57</td>\n",
        "      <td>8.22</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
        "      <td>1</td>\n",
        "      <td>0</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>5</th>\n",
        "      <td>1.51742</td>\n",
        "      <td>13.27</td>\n",
        "      <td>3.62</td>\n",
        "      <td>1.24</td>\n",
        "      <td>73.08</td>\n",
        "      <td>0.55</td>\n",
        "      <td>8.07</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
        "      <td>1</td>\n",
        "      <td>0</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "</div>"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 2,
       "text": [
        "         ri     na    mg    al     si     k    ca  ba  fe  glass_type  \\\n",
        "id                                                                      \n",
        "1   1.52101  13.64  4.49  1.10  71.78  0.06  8.75   0   0           1   \n",
        "2   1.51761  13.89  3.60  1.36  72.73  0.48  7.83   0   0           1   \n",
        "3   1.51618  13.53  3.55  1.54  72.99  0.39  7.78   0   0           1   \n",
        "4   1.51766  13.21  3.69  1.29  72.61  0.57  8.22   0   0           1   \n",
        "5   1.51742  13.27  3.62  1.24  73.08  0.55  8.07   0   0           1   \n",
        "\n",
        "    assorted  \n",
        "id            \n",
        "1          0  \n",
        "2          0  \n",
        "3          0  \n",
        "4          0  \n",
        "5          0  "
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Pretend that we want to predict **ri**, and our only feature is **al**. How would we do it using machine learning? We would frame it as a regression problem, and use a linear regression model with **al** as the only feature and **ri** as the response.\n",
      "\n",
      "How would we **visualize** this model? Create a scatter plot with **al** on the x-axis and **ri** on the y-axis, and draw the line of best fit."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import seaborn as sns\n",
      "import matplotlib.pyplot as plt\n",
      "%matplotlib inline"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 3
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sns.lmplot(x='al', y='ri', data=glass, ci=None)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 4,
       "text": [
        "<seaborn.axisgrid.FacetGrid at 0x18bebfd0>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nrkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x18c69198>"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "If we had an **al** value of 2, what would we predict for **ri**? Roughly 1.517.\n",
      "\n",
      "**Exercise:** Draw this plot without using Seaborn."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# scatter plot using Pandas\n",
      "glass.plot(kind='scatter', x='al', y='ri')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 5,
       "text": [
        "<matplotlib.axes._subplots.AxesSubplot at 0x18c94b70>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nrkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x3ec7208>"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# scatter plot using Matplotlib\n",
      "plt.scatter(glass.al, glass.ri)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 6,
       "text": [
        "<matplotlib.collections.PathCollection at 0x19168b70>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\ngg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x19138be0>"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# fit a linear regression model\n",
      "from sklearn.linear_model import LinearRegression\n",
      "linreg = LinearRegression()\n",
      "feature_cols = ['al']\n",
      "X = glass[feature_cols]\n",
      "y = glass.ri\n",
      "linreg.fit(X, y)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 7,
       "text": [
        "LinearRegression(copy_X=True, fit_intercept=True, normalize=False)"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# look at the coefficients to get the equation for the line, but then how do you plot the line?\n",
      "print linreg.intercept_\n",
      "print linreg.coef_"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "1.52194533024\n",
        "[-0.00247761]\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# you could make predictions for arbitrary points, and then plot a line connecting them\n",
      "print linreg.predict(1)\n",
      "print linreg.predict(2)\n",
      "print linreg.predict(3)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[ 1.51946772]\n",
        "[ 1.51699012]\n",
        "[ 1.51451251]\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# or you could make predictions for all values of X, and then plot those predictions connected by a line\n",
      "ri_pred = linreg.predict(X)\n",
      "plt.plot(glass.al, ri_pred, color='red')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 10,
       "text": [
        "[<matplotlib.lines.Line2D at 0x1a2d89b0>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1914f198>"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# put the plots together\n",
      "plt.scatter(glass.al, glass.ri)\n",
      "plt.plot(glass.al, ri_pred, color='red')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 11,
       "text": [
        "[<matplotlib.lines.Line2D at 0x1a2c6080>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1a2c2198>"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "### Refresher: interpreting linear regression coefficients"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Linear regression equation: $y = \\beta_0 + \\beta_1x$"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# compute prediction for al=2 using the equation\n",
      "linreg.intercept_ + linreg.coef_ * 2"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 12,
       "text": [
        "array([ 1.51699012])"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# compute prediction for al=2 using the predict method\n",
      "linreg.predict(2)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 13,
       "text": [
        "array([ 1.51699012])"
       ]
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# examine coefficient for al\n",
      "zip(feature_cols, linreg.coef_)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 14,
       "text": [
        "[('al', -0.0024776063874696243)]"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "**Interpretation:** A 1 unit increase in 'al' is associated with a 0.0025 unit decrease in 'ri'."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# increasing al by 1 (so that al=3) decreases ri by 0.0025\n",
      "1.51699012 - 0.0024776063874696243"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 15,
       "text": [
        "1.5145125136125304"
       ]
      }
     ],
     "prompt_number": 15
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# compute prediction for al=3 using the predict method\n",
      "linreg.predict(3)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 16,
       "text": [
        "array([ 1.51451251])"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Part 2: Predicting a Categorical Response"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Let's change our task, so that we're predicting **assorted** using **al**. Let's visualize the relationship to figure out how to do this:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.scatter(glass.al, glass.assorted)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 17,
       "text": [
        "<matplotlib.collections.PathCollection at 0x1a655710>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nQP4/B3scAMy78nEAAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1a62b128>"
       ]
      }
     ],
     "prompt_number": 17
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Let's draw a **regression line**, like we did before:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# fit a linear regression model and store the predictions\n",
      "feature_cols = ['al']\n",
      "X = glass[feature_cols]\n",
      "y = glass.assorted\n",
      "linreg.fit(X, y)\n",
      "assorted_pred = linreg.predict(X)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 18
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# scatter plot that includes the regression line\n",
      "plt.scatter(glass.al, glass.assorted)\n",
      "plt.plot(glass.al, assorted_pred, color='red')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 19,
       "text": [
        "[<matplotlib.lines.Line2D at 0x1a8d2080>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nhfEcWQ4qAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1a2a6160>"
       ]
      }
     ],
     "prompt_number": 19
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "If **al=3**, what class do we predict for assorted? **1**\n",
      "\n",
      "If **al=1.5**, what class do we predict for assorted? **0**\n",
      "\n",
      "So, we predict the 0 class for **lower** values of al, and the 1 class for **higher** values of al. What's our cutoff value? Around **al=2**, because that's where the linear regression line crosses the midpoint between predicting class 0 and class 1.\n",
      "\n",
      "So, we'll say that if **assorted_pred >= 0.5**, we predict a class of **1**, else we predict a class of **0**."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# understanding np.where\n",
      "import numpy as np\n",
      "nums = np.array([5, 15, 8])"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 20
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# np.where returns the first value if the condition is True, and the second value if the condition is False\n",
      "np.where(nums > 10, 'big', 'small')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 21,
       "text": [
        "array(['small', 'big', 'small'], \n",
        "      dtype='|S5')"
       ]
      }
     ],
     "prompt_number": 21
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# examine the predictions\n",
      "assorted_pred[:10]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 22,
       "text": [
        "array([ 0.06545853,  0.19576455,  0.28597641,  0.16068216,  0.13562331,\n",
        "        0.32607057,  0.08550561,  0.04039968,  0.20077632,  0.19576455])"
       ]
      }
     ],
     "prompt_number": 22
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# transform predictions to 1 or 0\n",
      "assorted_pred_class = np.where(assorted_pred >= 0.5, 1, 0)\n",
      "assorted_pred_class"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 23,
       "text": [
        "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n",
        "       0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0,\n",
        "       0, 1, 1, 1, 1, 0, 1])"
       ]
      }
     ],
     "prompt_number": 23
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# plot the class predictions\n",
      "plt.scatter(glass.al, glass.assorted)\n",
      "plt.plot(glass.al, assorted_pred_class, color='red')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 24,
       "text": [
        "[<matplotlib.lines.Line2D at 0x1a8d20f0>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nCwQCQRXi/wFOxGpZmZlbRwAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1a8d2898>"
       ]
      }
     ],
     "prompt_number": 24
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "What went wrong? This is a line plot, and it connects points in the order they are found. Let's sort the DataFrame by \"al\" to fix this:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# add predicted class to DataFrame\n",
      "glass['assorted_pred_class'] = assorted_pred_class\n",
      "\n",
      "# sort DataFrame by al\n",
      "glass.sort('al', inplace=True)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 25
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# plot the class predictions again\n",
      "plt.scatter(glass.al, glass.assorted)\n",
      "plt.plot(glass.al, glass.assorted_pred_class, color='red')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 26,
       "text": [
        "[<matplotlib.lines.Line2D at 0x1adc1b70>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nEYW+iEiO/H8NH63szZfWPgAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1ab3b978>"
       ]
      }
     ],
     "prompt_number": 26
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Part 3: Using Logistic Regression Instead\n",
      "\n",
      "Logistic regression can do what we just did:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# fit a linear regression model and store the class predictions\n",
      "from sklearn.linear_model import LogisticRegression\n",
      "logreg = LogisticRegression(C=1e9)\n",
      "feature_cols = ['al']\n",
      "X = glass[feature_cols]\n",
      "y = glass.assorted\n",
      "logreg.fit(X, y)\n",
      "assorted_pred_class = logreg.predict(X)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 27
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# print the class predictions\n",
      "assorted_pred_class"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 28,
       "text": [
        "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
        "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,\n",
        "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
        "       1, 1, 1, 1, 1, 1, 1], dtype=int64)"
       ]
      }
     ],
     "prompt_number": 28
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# plot the class predictions\n",
      "plt.scatter(glass.al, glass.assorted)\n",
      "plt.plot(glass.al, assorted_pred_class, color='red')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 29,
       "text": [
        "[<matplotlib.lines.Line2D at 0x1ab0dac8>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nP+YcTQAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1a8cfa20>"
       ]
      }
     ],
     "prompt_number": 29
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "What if we wanted the **predicted probabilities** instead of just the **class predictions**, to understand how confident we are in a given prediction?"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# store the predicted probabilites of class 1\n",
      "assorted_pred_prob = logreg.predict_proba(X)[:, 1]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 30
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# plot the predicted probabilities\n",
      "plt.scatter(glass.al, glass.assorted)\n",
      "plt.plot(glass.al, assorted_pred_prob, color='red')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 31,
       "text": [
        "[<matplotlib.lines.Line2D at 0x1b42cd68>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1b42cc50>"
       ]
      }
     ],
     "prompt_number": 31
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# examine some example predictions\n",
      "print logreg.predict_proba(1)\n",
      "print logreg.predict_proba(2)\n",
      "print logreg.predict_proba(3)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[[ 0.97161726  0.02838274]]\n",
        "[[ 0.34361555  0.65638445]]\n",
        "[[ 0.00794192  0.99205808]]\n"
       ]
      }
     ],
     "prompt_number": 32
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "What is this? The first column indicates the predicted probability of **class 0**, and the second column indicates the predicted probability of **class 1**."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Part 4: Probability, odds, e, log, log-odds\n",
      "\n",
      "$$probability = \\frac {one\\ outcome} {all\\ outcomes}$$\n",
      "\n",
      "$$odds = \\frac {one\\ outcome} {all\\ other\\ outcomes}$$\n",
      "\n",
      "Examples:\n",
      "\n",
      "- Dice roll of 1: probability = 1/6, odds = 1/5\n",
      "- Even dice roll: probability = 3/6, odds = 3/3 = 1\n",
      "- Dice roll less than 5: probability = 4/6, odds = 4/2 = 2\n",
      "\n",
      "$$odds = \\frac {probability} {1 - probability}$$\n",
      "\n",
      "$$probability = \\frac {odds} {1 + odds}$$"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# create a table of probability versus odds\n",
      "table = pd.DataFrame({'probability':[0.1, 0.2, 0.25, 0.5, 0.6, 0.8, 0.9]})\n",
      "table['odds'] = table.probability/(1 - table.probability)\n",
      "table"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<div style=\"max-width:1500px;overflow:auto;\">\n",
        "<table border=\"1\" class=\"dataframe\">\n",
        "  <thead>\n",
        "    <tr style=\"text-align: right;\">\n",
        "      <th></th>\n",
        "      <th>probability</th>\n",
        "      <th>odds</th>\n",
        "    </tr>\n",
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
        "      <th>0</th>\n",
        "      <td>0.10</td>\n",
        "      <td>0.111111</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>1</th>\n",
        "      <td>0.20</td>\n",
        "      <td>0.250000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>2</th>\n",
        "      <td>0.25</td>\n",
        "      <td>0.333333</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>3</th>\n",
        "      <td>0.50</td>\n",
        "      <td>1.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>4</th>\n",
        "      <td>0.60</td>\n",
        "      <td>1.500000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>5</th>\n",
        "      <td>0.80</td>\n",
        "      <td>4.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>6</th>\n",
        "      <td>0.90</td>\n",
        "      <td>9.000000</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "</div>"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 33,
       "text": [
        "   probability      odds\n",
        "0         0.10  0.111111\n",
        "1         0.20  0.250000\n",
        "2         0.25  0.333333\n",
        "3         0.50  1.000000\n",
        "4         0.60  1.500000\n",
        "5         0.80  4.000000\n",
        "6         0.90  9.000000"
       ]
      }
     ],
     "prompt_number": 33
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "What is **e**? It is the base rate of growth shared by all continually growing processes:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# exponential function: e^1\n",
      "np.exp(1)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 34,
       "text": [
        "2.7182818284590451"
       ]
      }
     ],
     "prompt_number": 34
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "What is a **(natural) log**? It gives you the time needed to reach a certain level of growth:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# time needed to grow 1 unit to 2.718 units\n",
      "np.log(2.718)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 35,
       "text": [
        "0.99989631572895199"
       ]
      }
     ],
     "prompt_number": 35
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "It is also the **inverse** of the exponential function:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "np.log(np.exp(5))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 36,
       "text": [
        "5.0"
       ]
      }
     ],
     "prompt_number": 36
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# add log-odds to the table\n",
      "table['logodds'] = np.log(table.odds)\n",
      "table"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<div style=\"max-width:1500px;overflow:auto;\">\n",
        "<table border=\"1\" class=\"dataframe\">\n",
        "  <thead>\n",
        "    <tr style=\"text-align: right;\">\n",
        "      <th></th>\n",
        "      <th>probability</th>\n",
        "      <th>odds</th>\n",
        "      <th>logodds</th>\n",
        "    </tr>\n",
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
        "      <th>0</th>\n",
        "      <td>0.10</td>\n",
        "      <td>0.111111</td>\n",
        "      <td>-2.197225</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>1</th>\n",
        "      <td>0.20</td>\n",
        "      <td>0.250000</td>\n",
        "      <td>-1.386294</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>2</th>\n",
        "      <td>0.25</td>\n",
        "      <td>0.333333</td>\n",
        "      <td>-1.098612</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>3</th>\n",
        "      <td>0.50</td>\n",
        "      <td>1.000000</td>\n",
        "      <td>0.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>4</th>\n",
        "      <td>0.60</td>\n",
        "      <td>1.500000</td>\n",
        "      <td>0.405465</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>5</th>\n",
        "      <td>0.80</td>\n",
        "      <td>4.000000</td>\n",
        "      <td>1.386294</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>6</th>\n",
        "      <td>0.90</td>\n",
        "      <td>9.000000</td>\n",
        "      <td>2.197225</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "</div>"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 37,
       "text": [
        "   probability      odds   logodds\n",
        "0         0.10  0.111111 -2.197225\n",
        "1         0.20  0.250000 -1.386294\n",
        "2         0.25  0.333333 -1.098612\n",
        "3         0.50  1.000000  0.000000\n",
        "4         0.60  1.500000  0.405465\n",
        "5         0.80  4.000000  1.386294\n",
        "6         0.90  9.000000  2.197225"
       ]
      }
     ],
     "prompt_number": 37
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Part 5: What is Logistic Regression?"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "**Linear regression:** continuous response is modeled as a linear combination of the features:\n",
      "\n",
      "$$y = \\beta_0 + \\beta_1x$$\n",
      "\n",
      "**Logistic regression:** log-odds of a categorical response being \"true\" (1) is modeled as a linear combination of the features:\n",
      "\n",
      "$$\\log \\left({p\\over 1-p}\\right) = \\beta_0 + \\beta_1x$$\n",
      "\n",
      "This is called the **logit function**.\n",
      "\n",
      "Probability is sometimes written as pi:\n",
      "\n",
      "$$\\log \\left({\\pi\\over 1-\\pi}\\right) = \\beta_0 + \\beta_1x$$\n",
      "\n",
      "The equation can be rearranged into the **logistic function**:\n",
      "\n",
      "$$\\pi = \\frac{e^{\\beta_0 + \\beta_1x}} {1 + e^{\\beta_0 + \\beta_1x}}$$"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "In other words:\n",
      "\n",
      "- Logistic regression outputs the **probabilities of a specific class**\n",
      "- Those probabilities can be converted into **class predictions**\n",
      "\n",
      "The **logistic function** has some nice properties:\n",
      "\n",
      "- Takes on an \"s\" shape\n",
      "- Output is bounded by 0 and 1\n",
      "\n",
      "Notes:\n",
      "\n",
      "- **Multinomial logistic regression** is used when there are more than 2 classes.\n",
      "- Coefficients are estimated using **maximum likelihood estimation**, meaning that we choose parameters that maximize the likelihood of the observed data."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Part 6: Interpreting Logistic Regression Coefficients"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# plot the predicted probabilities again\n",
      "plt.scatter(glass.al, glass.assorted)\n",
      "plt.plot(glass.al, assorted_pred_prob, color='red')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 38,
       "text": [
        "[<matplotlib.lines.Line2D at 0x1b45b978>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1b45bc50>"
       ]
      }
     ],
     "prompt_number": 38
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# compute predicted log-odds for al=2 using the equation\n",
      "logodds = logreg.intercept_ + logreg.coef_[0] * 2\n",
      "logodds"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 39,
       "text": [
        "array([ 0.64722323])"
       ]
      }
     ],
     "prompt_number": 39
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# convert log-odds to odds\n",
      "odds = np.exp(logodds)\n",
      "odds"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 40,
       "text": [
        "array([ 1.91022919])"
       ]
      }
     ],
     "prompt_number": 40
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# convert odds to probability\n",
      "prob = odds/(1 + odds)\n",
      "prob"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 41,
       "text": [
        "array([ 0.65638445])"
       ]
      }
     ],
     "prompt_number": 41
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# compute predicted probability for al=2 using the predict_proba method\n",
      "logreg.predict_proba(2)[:, 1]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 42,
       "text": [
        "array([ 0.65638445])"
       ]
      }
     ],
     "prompt_number": 42
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# examine the coefficient for al\n",
      "zip(feature_cols, logreg.coef_[0])"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 43,
       "text": [
        "[('al', 4.1804038614510901)]"
       ]
      }
     ],
     "prompt_number": 43
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "**Interpretation:** A 1 unit increase in 'al' is associated with a 4.18 unit increase in the log-odds of 'assorted'."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# increasing al by 1 (so that al=3) increases the log-odds by 4.18\n",
      "logodds = 0.64722323 + 4.1804038614510901\n",
      "odds = np.exp(logodds)\n",
      "prob = odds/(1 + odds)\n",
      "prob"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 44,
       "text": [
        "0.99205808391674566"
       ]
      }
     ],
     "prompt_number": 44
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# compute predicted probability for al=3 using the predict_proba method\n",
      "logreg.predict_proba(3)[:, 1]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 45,
       "text": [
        "array([ 0.99205808])"
       ]
      }
     ],
     "prompt_number": 45
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "**Bottom line:** Positive coefficients increase the log-odds of the response (and thus increase the probability), and negative coefficients decrease the log-odds of the response (and thus decrease the probability)."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# examine the intercept\n",
      "logreg.intercept_"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 46,
       "text": [
        "array([-7.71358449])"
       ]
      }
     ],
     "prompt_number": 46
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "**Interpretation:** For an 'al' value of 0, the log-odds of 'assorted' is -7.71."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# convert log-odds to probability\n",
      "logodds = logreg.intercept_\n",
      "odds = np.exp(logodds)\n",
      "prob = odds/(1 + odds)\n",
      "prob"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 47,
       "text": [
        "array([ 0.00044652])"
       ]
      }
     ],
     "prompt_number": 47
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "That makes sense from the plot above, because the probability of assorted=1 should be very low for such a low 'al' value."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "![](images/logistic_betas.png)"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Changing the $\\beta_0$ value shifts the curve **horizontally**, whereas changing the $\\beta_1$ value changes the **slope** of the curve."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Part 7: Comparing Logistic Regression with Other Models\n",
      "\n",
      "Advantages of logistic regression:\n",
      "\n",
      "- Highly interpretable (if you remember how)\n",
      "- Model training and prediction are fast\n",
      "- No tuning is required (excluding regularization)\n",
      "- Features don't need scaling\n",
      "- Can perform well with a small number of observations\n",
      "- Outputs well-calibrated predicted probabilities\n",
      "\n",
      "Disadvantages of logistic regression:\n",
      "\n",
      "- Presumes a linear relationship between the features and the log-odds of the response\n",
      "- Performance is (generally) not competitive with the best supervised learning methods\n",
      "- Sensitive to irrelevant features\n",
      "- Can't automatically learn feature interactions"
     ]
    }
   ],
   "metadata": {}
  }
 ]
}